应力线性化在压力容器分析设计中广泛使用;
基于ASME规范
薄膜应力沿壁厚或路径均匀分布,其大小为相应应力分量在截面上合力的平均值,表示为:
其中为任意六个应力(sx、sy、sz、sxy、syz、sxz
)分量之一。
弯曲应力沿壁厚或路径线性分布,且沿壁厚或者路径终点反对称分布。该分布产生的弯矩和原始应力分布产生的弯曲大小一致,假设外侧节点的弯曲应力为,则有:
其中为任意应力分量。因此外侧弯曲应力的大小为:
线性化后,可以得到6个应力分量对应的薄膜应力()、弯曲应力()。则S1,S2,S3,SINT,SEQV
的薄膜应力由6个薄膜应力分量()求出,弯曲应力由6个弯曲应力分量()求出。
线性化后,可以得到6个应力分量对应的薄膜应力()、弯曲应力(),用原始的6个应力分量减去薄膜应力和弯曲应力,得到峰值应力的6个应力分量,让后再用这6个分量求出主应力和应力强度等。所以线性化后主应力和应力强度的薄膜+弯曲+峰值应力往往不等于和应力(Total)。
以下以任意一有限元计算结果示例,其应力强度云图如下:
对其由内而外取一条路径(红线所示),红线上由内而外经过四个节点,各个节点应力状态为:
节点编号 | sx | sy | sz | sxy | syz | sxz |
---|---|---|---|---|---|---|
1 | -0.25037E+08 | -0.32145E+08 | -0.79458E+07 | 0.28775E+08 | 0 | 0 |
2 | 0.96907E+08 | 0.12621E+09 | 0.80323E+08 | -0.12683E+09 | 0 | 0 |
3 | 0.11512E+08 | 0.18354E+08 | 0.19262E+08 | -0.12366E+08 | 0 | 0 |
4 | 0.51497E+08 | 0.70925E+08 | 0.48394E+08 | -0.62210E+08 | 0 | 0 |
四个节点的坐标依次为:
节点编号 | x | y | z |
---|---|---|---|
1 | 0.792667608977E-001 | 1.66897695709 | 0.00 |
2 | 0.774554851510E-001 | 1.66747760283 | 0.00 |
3 | 0.786600643580E-001 | 1.66847985656 | 0.00 |
4 | 0.780563057757E-001 | 1.66798007181 | 0.00 |
根据上述公式,使用以下代码可以计算出6个应力分量及三个主应力的薄膜应力及弯曲应力:
611% 四个节点的应力状态,依次为sx、sy、sz、sxy、syz、sxz
2sn4=[-0.25037E+08 -0.32145E+08 -0.79458E+07 0.28775E+08 0.0000 0.0000 ];
3sn1=[ 0.96907E+08 0.12621E+09 0.80323E+08 -0.12683E+09 0.0000 0.0000];
4sn3=[ 0.11512E+08 0.18354E+08 0.19262E+08 -0.12366E+08 0.0000 0.0000];
5sn2=[ 0.51497E+08 0.70925E+08 0.48394E+08 -0.62210E+08 0.0000 0.0000];
6S=[sn1;sn2;sn3;sn4];
7%各点坐标
8ln4=[0.792667608977E-001 1.66897695709 0.00000000000];
9ln1=[0.774554851510E-001 1.66747760283 0.00000000000];
10ln3=[0.786600643580E-001 1.66847985656 0.00000000000];
11ln2=[0.780563057757E-001 1.66798007181 0.00000000000];
12% 各点距离第一点的距离loc
13dis = @(loc1,loc2) sqrt(sum((loc1-loc2).^2)); %求距离函数
14loc=[0,dis(ln1,ln2),dis(ln1,ln3),dis(ln1,ln4)];
15%六个应力分量依次线性化
16[sxm,sxb]=linearize(loc,S(:,1));
17[sym,syb]=linearize(loc,S(:,2));
18[szm,szb]=linearize(loc,S(:,3));
19[sxym,sxyb]=linearize(loc,S(:,4));
20[syzm,syzb]=linearize(loc,S(:,5));
21[sxzm,sxzb]=linearize(loc,S(:,6));
22%分别求出薄膜和弯曲应力的三个主应力
23[s1m,s2m,s3m]=s1s2s3([sxm,sym,szm,sxym,syzm,sxzm]);
24[s1b,s2b,s3b]=s1s2s3([sxb,syb,szb,sxyb,syzb,sxzb]);
25
26s1b_o=s1b; %外侧的第一主应力的弯曲应力
27s1b_i=-s3b;%内测的第一主应力的弯曲应力
28
29function [pm,pb] = linearize( loc,stress )
30 % 线性化函数,输出薄膜应力和外侧弯曲应力
31 loc=reshape(loc,size(stress));
32 t=diff(loc);
33 T=sum(t);
34 pm=sum(0.5*(stress(1:end-1)+stress(2:end)).*t)/T;
35
36 %计算弯曲应力的积分,这里粗暴的将眼壁厚的应力曲线分成1000段,化为求和计算,精度足够。
37 nt=1000;
38 Ts=0:T/nt:T;
39 Ss=interp1(loc,stress,Ts);
40 pb=sum((Ss(1:end-1)+Ss(2:end))/2*T/nt.*(0.5*Ts(1:end-1)+0.5*Ts(2:end)-T/2))*6/T^2;
41end
42
43function [s1,s2,s3 ] = s1s2s3( stress )
44 % 根据任意点的应力状态求出其3个主应力。
45 sx=stress(1);
46 sy=stress(2);
47 sz=stress(3);
48 sxy=stress(4);
49 syz=stress(5);
50 sxz=stress(6);
51 I1=sx+sy+sz;
52 I2=sy*sz+sx*sz+sx*sy-syz^2-sxz^2-sxy^2;
53 I3=[sx,sxy,sxz;
54 sxy,sy,syz;
55 sxz,syz,sz];
56 I3=det(I3);
57 S=sort(roots([1,-I1,I2,-I3]),1,'descend');
58 s1=S(1);
59 s2=S(2);
60 s3=S(3);
61end
ANSYS下应力分量sx线性化结果如下图所示,横坐标为沿路径方向坐标。
全部线性化结果为:
151 ** MEMBRANE **
2 SX SY SZ SXY SYZ SXZ
3 0.3295E+08 0.4543E+08 0.3461E+08 -0.4118E+08 0.000 0.000
4 S1 S2 S3 SINT SEQV
5 0.8084E+08 0.3461E+08 -0.2456E+07 0.8329E+08 0.7228E+08
6
7 ** BENDING ** I=INSIDE C=CENTER O=OUTSIDE
8 SX SY SZ SXY SYZ SXZ
9 I 0.6070E+08 0.7910E+08 0.4402E+08 -0.7709E+08 0.000 0.000
10 C 0.000 0.000 0.000 0.000 0.000 0.000
11 O -0.6070E+08 -0.7910E+08 -0.4402E+08 0.7709E+08 0.000 0.000
12 S1 S2 S3 SINT SEQV
13 I 0.1475E+09 0.4402E+08 -0.7735E+07 0.1553E+09 0.1369E+09
14 C 0.000 0.000 0.000 0.000 0.000
15 O 0.7735E+07 -0.4402E+08 -0.1475E+09 0.1553E+09 0.1369E+09